<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>simvoc.core.kernel.Output</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="simvoc-module.html">Package&nbsp;simvoc</a> ::
        <a href="simvoc.core-module.html">Package&nbsp;core</a> ::
        <a href="simvoc.core.kernel-module.html">Module&nbsp;kernel</a> ::
        Class&nbsp;Output
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Output</h1><p class="nomargin-top"><span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_simvoc_c_20" name="uml_class_diagram_for_simvoc_c_20">
<area shape="rect" id="node38" href="simvoc.core.kernel.Output-class.html#__init__" title="x.__init__(...) initializes x; see x.__class__.__doc__ for signature" alt="" coords="428,39,589,57"/>
<area shape="rect" id="node38" href="simvoc.core.kernel.Output-class.html#handle_append" title="Subclasses should override this method to implement the actual handling of &#160;output." alt="" coords="428,57,589,76"/>
<area shape="rect" id="node38" href="simvoc.core.kernel.Output-class.html#append" title="Appends a result to the output destination, then passes the result to a &#160;downstream Output handler, if any." alt="" coords="428,76,589,95"/>
<area shape="rect" id="node38" href="simvoc.core.kernel.Output-class.html#handle_close" title="Subclasses should override this method to implement the actual closing of &#160;an output destination." alt="" coords="428,95,589,113"/>
<area shape="rect" id="node38" href="simvoc.core.kernel.Output-class.html#close" title="Closes all output handlers in the downstream portion of the pipeline, &#160;including the output handler on which this method is invoked (if &#160;applicable)." alt="" coords="428,113,589,132"/>
<area shape="rect" id="node1" href="simvoc.core.kernel.Output-class.html" title="Simulator output handler base class." alt="" coords="416,6,600,138"/>
<area shape="rect" id="node2" href="simvoc.core.aggregator.Aggregator-class.html" title="Aggregation output handler: aggregates some types of results, creating AggregationResult objects that are sent to the downstream output handler." alt="" coords="5,158,168,197"/>
<area shape="rect" id="node3" href="simvoc.core.duplicate_filter.DuplicateFilter-class.html" title="Output handler that prevents duplicate results from being transmitted downstream." alt="" coords="197,158,403,197"/>
<area shape="rect" id="node4" href="simvoc.core.db_output.DBOutput-class.html" title="Output handler that writes results directly to a database in sqlite3 format." alt="" coords="432,158,587,197"/>
<area shape="rect" id="node5" href="simvoc.core.filter_results.ResultFilter-class.html" title="Output pipeline component that filters results by type." alt="" coords="616,158,792,197"/>
<area shape="rect" id="node6" href="simvoc.core.kernel.StreamOutput-class.html" title="Writes output to a file&#45;like object (default is sys.stdout)." alt="" coords="821,158,939,197"/>
</map>
  <img src="uml_class_diagram_for_simvoc_c_20.gif" alt='' usemap="#uml_class_diagram_for_simvoc_c_20" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Simulator output handler base class. Output handlers may be chained 
  together to form a pipeline for filtering, writing to multiple 
  destinations, etc.</p>
  <p>The simulator only calls the append() and close() methods of the FIRST
  Output instance in the pipeline. Thus, all implementations of close() 
  should call the close() method of any downstream Output instance.</p>
  <p>This base implementation output handler does nothing with the output 
  (except to pass it to another Output class, if configured to do so). See 
  the StreamOutput class (below) for a simple implementation that actually 
  does something.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.kernel.Output-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">output</span>=<span class="summary-sig-default">None</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.kernel.Output-class.html#handle_append" class="summary-sig-name">handle_append</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">result</span>)</span><br />
      Subclasses should override this method to implement the actual 
      handling of output.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.handle_append">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.kernel.Output-class.html#append" class="summary-sig-name">append</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">result</span>)</span><br />
      Appends a result to the output destination, then passes the result to
      a downstream Output handler, if any.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.append">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.kernel.Output-class.html#handle_close" class="summary-sig-name">handle_close</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Subclasses should override this method to implement the actual 
      closing of an output destination.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.handle_close">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Closes all output handlers in the downstream portion of the pipeline,
      including the output handler on which this method is invoked (if 
      applicable).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.close">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__str__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">output</span>=<span class="sig-default">None</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>output</code></strong> - Optional downstream Output instance to which the result will be 
          passed</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="handle_append"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">handle_append</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">result</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.handle_append">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Subclasses should override this method to implement the actual 
  handling of output. This implementation does nothing.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>result</code></strong> - Result to add to the output</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="append"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">append</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">result</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.append">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Appends a result to the output destination, then passes the result to 
  a downstream Output handler, if any.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>result</code></strong> - Result to add to the output</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="handle_close"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">handle_close</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.kernel-pysrc.html#Output.handle_close">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Subclasses should override this method to implement the actual closing
  of an output destination. This implementation does nothing</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0 on Fri Oct 23 11:04:31 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
